package zhongbo.java.air.flightpath.service;

import zhongbo.java.air.common.vo.PageVo;
import zhongbo.java.air.flightpath.model.AirFlightPath;

import java.util.Date;
import java.util.List;

public interface IAirFlightPathService {
    /**
     * 新增一条航迹信息
     * @param airFlightPath 航迹信息对象
     * @return 此次新增航迹信息的id
     */
    String addAirFlightPath(AirFlightPath airFlightPath);

    /**
     * 更改航迹信息信息
     * @param airFlightPath 航迹信息对象
     * @return 返回修改后的航迹信息对象
     */
    AirFlightPath updateAirFlightPath(AirFlightPath airFlightPath);

    /**
     * 根据id删除航迹信息
     * @param airId
     * @return 受到影响行数
     */
    int deleteAirFlightPath(String airId);

    /**
     * 根据id获取航迹信息
     * @param airId
     * @return 航迹信息对象
     */
    AirFlightPath getAirFlightPathById(String airId);

    /**
     * 获取所有的航迹信息列表
     * @return 已有的航迹信息列表
     */
    List<AirFlightPath> getAirFlightPathAll();

    /**
     * 分页查询
     * @param airFlightPathType 被查询数据（可为空）
     * @param pageNumber 当前页码
     * @param pageSize 每页数据量
     * @return 分页查询
     */
    PageVo<AirFlightPath> page(String airFlightPathType, int pageNumber, int pageSize);


    PageVo<AirFlightPath> pageTimeFlightPathAll (String icao, Date startTime, Date endTime,
                                                 Integer pageNumber, Integer pageSize);
}
